#ifndef MUSIC_H
#define MUSIC_H

#include <QUrl>
#include <QSqlQuery>
#include <QSqlError>

class Music
{
public:
    Music();
    Music(const QUrl& url);

    // set 方法
    void setMusicId(const QString& musicId);
    void setMusicName(const QString& musicName);
    void setMusicSinger(const QString& musicSinger);
    void setMusicAlbum(const QString& musicAlbum);
    void setDuration(qint64 duration);
    void setIsLike(bool isLike);
    void setIsHistory(bool isHistory);
    void setMusicUrl(QUrl musicUrl);

    // get 方法
    QString getMusicName() const;
    QString getMusicSinger() const;
    QString getMusicAlbum() const;
    qint64 getDuration() const;
    bool getIsLike() const;
    bool getIsHistory() const;
    QUrl getMusicUrl() const;
    QString getMusicId() const;
    QString getLrcFilePath() const;

    //将歌曲插入到数据库当中
    void insertToDB();


protected:
    void parseMediaMetaMusic();

private:
    QString musicName;
    QString musicSinger;
    QString musicAlbum;

    qint64 duration;

    bool isLike;
    bool isHistory;

    QUrl musicUrl;

    QString musicId;
};

#endif // MUSIC_H
